package com.checkoutcheckins.client.services;

import com.checkoutcheckins.client.data.foursquare.FoursquareUser;
import com.checkoutcheckins.client.data.foursquare.Settings;
import com.checkoutcheckins.client.rpc.CheckinResponse;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface FoursquareServiceAsync {

	void getFoursquareUser(String foursquareToken, String foursquareSecret,
			AsyncCallback<FoursquareUser> callback);

	void getCheckinsFromFoursquare(String foursquareid,
			AsyncCallback<CheckinResponse> callback);

	void getCheckinsFromDatabase(String foursquareid, int lastRetrieved,
			AsyncCallback<CheckinResponse> callback);

	void getFriendsCheckinsFromFoursquare(String foursquareid,
			AsyncCallback<CheckinResponse> callback);

	void sendShoutMessageToFoursquare(String foursquareid, String message,
			boolean twitter, boolean facebook, AsyncCallback<Boolean> callback);

	void getUserSettings(String foursquareId, AsyncCallback<Settings> callback);

	void isWordSpreadAsked(String foursquareId, boolean wordSpreadAsked,
			AsyncCallback<Boolean> callback);
}
